package goods.api;

import goods.model.GoodsFashion;
import store.model.core.Store;
import java.util.List;
import java.util.Map;

/**
 * Created by Liang Wenxu on 2016/10/28.
 */
public interface GoodsFashionApi {
    /**
     * 按ID获取商品规格信息
     * @param id
     * @return
     */
    public GoodsFashion findById(String id);

    /**
     * 获取指定产品规格的库存（获取京东等第三方平台实时库存）
     * @param fashionIds 产品规格ID
     * @param areaCode 地区代码
     * @return
     */
    public Map<String, Object> getStockCounts(List<String> fashionIds, String areaCode);

//    /**
//     * 获取产品规格的实时状态，主要针对第三方平台商品
//     * @param fashionStatusRequetVo 查询请求数据VO
//     * @param store 店铺
//     * @return List<Map<String, Object>>， 返回结果集示意：
//     *  [
//     *      [id: '12312312323', stockCount: 1, isAreaRestrict: false, saleState: true]
//     *      ...
//     *      [id: '12312312322', stockCount: 10, isAreaRestrict: false, saleState: true]
//     *  ]
//     *
//     *  参数：
//     *      stockCount: 实时库存数量，
//     *      isAreaRestrict: 该商品是否地区限购，true: 该地区限制购买， false: 该地区不限制购买
//     *      saleState: 销售状态，true: 可销售，false: 不可销售
//     */
//    public List<Map<String, Object>> getFashionStatus(outsideapi.vo.FashionStatusRequetVo fashionStatusRequetVo, Store store);

    /**
     * 更新规格的库存及销售状态
     * @param fashionStatusRequetVo
     * @param store
     * @return
     */
    public List<GoodsFashion> refreshFactionStatus(outsideapi.vo.FashionStatusRequetVo fashionStatusRequetVo, Store store);

    public String toString();
}
